#pragma once
#include "xwatervideo_global.h"
#include<PermissionManager.h>
#include<extensionsystem/iplugin.h>
#include<XWaterUIPlugin.h>
using namespace YunDaComponent;

class VideoGroupView;

class XWATERVIDEO_EXPORT VideoMonitor: public XWaterUIPlugin
{
	Q_OBJECT
		Q_INTERFACES(XWaterUIPlugin)
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
		Q_PLUGIN_METADATA(IID XWaterPlugin_iid FILE "XWaterVideo.json")
#endif
public:
	VideoMonitor();
	~VideoMonitor();
public:
	virtual bool initialize(const QStringList& arguments, QString* errorString)Q_DECL_OVERRIDE;
	virtual void extensionsInitialized();
	virtual QWidget* getDisplayWidget() Q_DECL_OVERRIDE;
	virtual void handlePluginMetaData(XWaterMetaData pluginMetaData) Q_DECL_OVERRIDE;
	void init();
	void InitUi();
signals:
	void reportPluginMetaData(XWaterMetaData pluginMetaData) ;
public:
	QWidget* displayWidget;
	VideoGroupView* groupView;
	
	PermissionManager* permissionManager;
};
Q_DECLARE_INTERFACE(VideoMonitor, "com.interface.VideoMonitor")